home *** CD-ROM | disk | FTP | other *** search
- package com.sun.xml.tree;
-
- import org.w3c.dom.CharacterData;
- import org.w3c.dom.DOMException;
- import org.w3c.dom.NodeList;
-
- abstract class DataNode extends NodeBase implements CharacterData {
- char[] data;
- static NodeListImpl childNodes = new NodeListImpl();
-
- DataNode() {
- }
-
- DataNode(String var1) {
- if (var1 != null) {
- this.data = new char[var1.length()];
- var1.getChars(0, this.data.length, this.data, 0);
- } else {
- this.data = new char[0];
- }
-
- }
-
- DataNode(char[] var1, int var2, int var3) {
- this.data = new char[var3];
- System.arraycopy(var1, var2, this.data, 0, var3);
- }
-
- public void appendData(String var1) {
- if (((NodeBase)this).isReadonly()) {
- throw new DomEx((short)7);
- } else {
- int var2 = var1.length();
- char[] var3 = new char[var2 + this.data.length];
- System.arraycopy(this.data, 0, var3, 0, this.data.length);
- var1.getChars(0, var2, var3, this.data.length);
- this.data = var3;
- }
- }
-
- public void deleteData(int var1, int var2) throws DOMException {
- if (((NodeBase)this).isReadonly()) {
- throw new DomEx((short)7);
- } else if (var1 >= 0 && var1 < this.data.length && var2 >= 0) {
- var2 = Math.min(var2, this.data.length - var1);
- char[] var3 = new char[this.data.length - var2];
- System.arraycopy(this.data, 0, var3, 0, var1);
- System.arraycopy(this.data, var1 + var2, var3, var1, var3.length - var1);
- this.data = var3;
- } else {
- throw new DomEx((short)1);
- }
- }
-
- public NodeList getChildNodes() {
- return childNodes;
- }
-
- public String getData() {
- return this.toString();
- }
-
- public int getLength() {
- return this.data == null ? 0 : this.data.length;
- }
-
- public String getNodeValue() {
- return this.getData();
- }
-
- public char[] getText() {
- return this.data;
- }
-
- public void insertData(int var1, String var2) throws DOMException {
- if (((NodeBase)this).isReadonly()) {
- throw new DomEx((short)7);
- } else if (var1 >= 0 && var1 < this.data.length) {
- int var3 = var2.length();
- char[] var4 = new char[var3 + this.data.length];
- System.arraycopy(this.data, 0, var4, 0, var1);
- var2.getChars(0, var3, var4, var1);
- System.arraycopy(this.data, var1, var4, var1 + var3, this.data.length - var1);
- this.data = var4;
- } else {
- throw new DomEx((short)1);
- }
- }
-
- public void replaceData(int var1, int var2, String var3) throws DOMException {
- if (((NodeBase)this).isReadonly()) {
- throw new DomEx((short)7);
- } else if (var1 >= 0 && var1 < this.data.length && var2 >= 0) {
- if (var1 + var2 >= this.data.length) {
- this.deleteData(var1, var2);
- this.appendData(var3);
- } else if (var3.length() == var2) {
- var3.getChars(0, var3.length(), this.data, var1);
- } else {
- char[] var4 = new char[this.data.length + (var3.length() - var2)];
- System.arraycopy(this.data, 0, var4, 0, var1);
- var3.getChars(0, var3.length(), var4, var1);
- System.arraycopy(this.data, var1 + var2, var4, var1 + var3.length(), this.data.length - (var1 + var2));
- this.data = var4;
- }
-
- } else {
- throw new DomEx((short)1);
- }
- }
-
- public void setData(String var1) {
- if (((NodeBase)this).isReadonly()) {
- throw new DomEx((short)7);
- } else {
- if (var1 == null) {
- this.setText(new char[0]);
- } else {
- this.setText(var1.toCharArray());
- }
-
- }
- }
-
- public void setNodeValue(String var1) {
- this.setData(var1);
- }
-
- public void setText(char[] var1) {
- this.data = var1;
- }
-
- public String substringData(int var1, int var2) throws DOMException {
- if (var1 >= 0 && var1 <= this.data.length && var2 >= 0) {
- var2 = Math.min(var2, this.data.length - var1);
- return new String(this.data, var1, var2);
- } else {
- throw new DomEx((short)1);
- }
- }
-
- public String toString() {
- return new String(this.data);
- }
- }
-